# 该模块为汉诺塔初始界面的完成，在基础界面上增加了圆盘

import HanoiBase as hb
import turtle as t
import random
# 定义二维列表columnColor，第一列代表柱子，长度代表柱子上有几个圆盘，从下往上,第二列代表圆盘的颜色,形成“栈”结构！
columnColor = [i for i in range(3)]
for i in range(len(columnColor)):
    columnColor[i] = []

def initial(number):
    hb.base()

    num=number
    t.speed(5)
    drawDisk(number, num)
    t.penup()
    t.home()

# 采用递归思想画圆盘
def drawDisk(number,num):

    # 当num为0时，“归”
    if num == 0 :
        return
    # 当num为0时，“归” end

    # “递”过程，将圆盘从下往上画
    else:
        t.goto((-num*30/ 2)+(-175), -100+(number - num)*10)
        t.pensize(10)
        diskColor(num)
        t.pendown()
        t.forward(num * 30)
        columnColor[0].append(t.pencolor())
        num -= 1
        t.penup()
        drawDisk(number,num)
    # “递”过程，将圆盘从下往上画 end

# 采用递归思想画圆盘 end

def diskColor(num):
    if num==1:
        t.pencolor("green")
    elif num==2:
        t.pencolor("blue")
    elif num==3:
        t.pencolor("purple")
    elif num==4:
        t.pencolor("red")
    else:
        num = num%4
        if num == 0:
            num = random.randint(1,4)
        diskColor(num)

if __name__ == "__main__":
    # number = int(input("请输入圆盘个数，推荐不超过4个"))
    initial(4)
    print(columnColor)
    t.done()